package main

import (
	"fmt"
	"log"
	"time"
)

func main() {
	// 读取配置文件
	config, err := LoadConfig("config.yml")
	if err != nil {
		log.Fatalf("加载配置文件出错: %v", err)
	}

	// 读取 Excel 文件夹中所有文件
	files, err := ReadExcelFiles(config.ExcelDirectory)
	if err != nil {
		log.Fatalf("读取 Excel 文件夹出错: %v", err)
	}

	fmt.Println("找到以下 Excel 文件:")
	for _, file := range files {
		fmt.Println(file)
	}

	var allData []map[string]string

	for _, file := range files {
		fmt.Printf("正在处理文件: %s\n", file)

		// 读取每个文件的数据
		sheetData, err := ReadExcelData(file, config)
		if err != nil {
			log.Printf("读取文件数据出错: %v", err)
			continue // 继续处理下一个文件
		}

		// 将读取的数据加入到 allData 中
		allData = append(allData, sheetData...)
	}

	// 写入新的 Excel 文件
	timestamp := time.Now().Format("20060102150405")
	outputFilename := fmt.Sprintf("output_%s.xlsx", timestamp)
	err = WriteExcelData(outputFilename, allData, config)
	if err != nil {
		log.Fatalf("写入文件出错: %v", err)
	}

	fmt.Println("所有数据已成功写入到文件:", outputFilename)
}
